package com.financing.wap.service;

import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.financing.wap.dto.YouDanAmountDTO;
import com.financing.wap.vo.YouDanAmountVO;

public interface IYouDanAmountService extends IBaseService {
	/**
	 * 更新有单金额明细
	 */
	public int updateYouDanAmount(YouDanAmountDTO youDanAmount) throws SQLException;
	
	/**
	 * 新增有单金额明细
	 */
	public Integer insertYouDanAmount(YouDanAmountDTO youDanAmount) throws SQLException;
	
	/**
	 * 查询有单金额明细
	 */
	public List<YouDanAmountDTO> getYouDanAmount(YouDanAmountVO youDanAmount) throws SQLException;
	//*****************保证金相关***************
	/**
	 * 有单金额明细-保证金-冻结
	 */
	public int updateBaoZhengJin2Lock(Integer receiptId, String remark) throws SQLException;
	/**
	 * 有单金额明细-保证金-可提现
	 */
	public int updateBaoZhengJin2Unlock(Integer receiptId, String remark) throws SQLException;
	/**
	 * 有单金额明细-保证金-提现中
	 */
	public int updateBaoZhengJin2Withdraw(Integer receiptId, String remark) throws SQLException;
	/**
	 * 有单金额明细-保证金-提现成功
	 */
	public int updateBaoZhengJin2WithdrawSuccess(Integer receiptId, String remark) throws SQLException;
	/**
	 * 有单金额明细-保证金-提现失败
	 */
	public int updateBaoZhengJin2WithdrawFail(Integer receiptId, String remark) throws SQLException;
	
	/**
	 * 有单金额明细-保证金-失败
	 */
	public int updateBaoZhengJin2Fail(Integer receiptId, String remark) throws SQLException;
	
	//*****************佣金相关***************
	/**
	 * 有单金额明细-佣金-冻结
	 */
	public int updateYongJin2Lock(Integer orderId, String remark) throws SQLException;
	/**
	 * 有单金额明细-佣金-可提现
	 */
	public int updateYongJin2Unlock(Integer orderId, String remark) throws SQLException;
	/**
	 * 有单金额明细-佣金-提现中
	 */
	public int updateYongJin2Withdraw(Integer orderId, String remark) throws SQLException;
	/**
	 * 有单金额明细-佣金-提现成功
	 */
	public int updateYongJin2WithdrawSuccess(Integer orderId, String remark) throws SQLException;
	/**
	 * 有单金额明细-佣金-提现失败
	 */
	public int updateYongJin2WithdrawFail(Integer orderId, String remark) throws SQLException;
	/**
	 * 有单金额明细-佣金-失败
	 */
	public int updateYongJin2Fail(Integer orderId, String remark) throws SQLException;

	public BigDecimal getBaoZhengJinAmount(Map<String, Object> map) throws SQLException;

	public BigDecimal getCommissionAmount(Map<String, Object> map) throws SQLException;

	public Integer getYouDanAmountCount(YouDanAmountVO youDanAmountVO) throws SQLException;
	
}
